package cn.wetcland.panel.menu;

import cn.wetcland.item.SeniorItems;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.ArrayList;
import java.util.List;

public class MainMenu {

    public static Inventory getMainMenu() {
        Inventory inventory = Bukkit.createInventory(null, 45, "§b主菜单");
        ItemStack glass = new ItemStack(Material.PURPLE_STAINED_GLASS_PANE);
        ItemMeta glassItemMeta = glass.getItemMeta();
        glassItemMeta.setDisplayName("§b♬");
        glass.setItemMeta(glassItemMeta);
        for (int i = 0; i < 45; i++) {
            inventory.setItem(i, glass);
        }
        // 常用地标 信标
        ItemStack beacon = new ItemStack(Material.BEACON);
        ItemMeta beaconItemMeta = beacon.getItemMeta();
        beaconItemMeta.setDisplayName("§d传送点");
        beacon.setItemMeta(beaconItemMeta);
        inventory.setItem(10, beacon);

        // 全球市场 蓝色陶瓦
        ItemStack glazed = new ItemStack(Material.LIGHT_BLUE_GLAZED_TERRACOTTA);
        ItemMeta glazedItemMeta = glazed.getItemMeta();
        glazedItemMeta.setDisplayName("§d全球市场");
        glazed.setItemMeta(glazedItemMeta);
        inventory.setItem(12, glazed);

        // 强化淬炼晋级 光箭
        ItemStack arrow = new ItemStack(Material.SPECTRAL_ARROW);
        ItemMeta arrowItemMeta = arrow.getItemMeta();
        arrowItemMeta.setDisplayName("§d强化淬炼晋级");
        arrow.setItemMeta(arrowItemMeta);
        inventory.setItem(14, arrow);

        // 结婚系统 玫瑰
        ItemStack rose = new ItemStack(Material.ROSE_BUSH);
        ItemMeta roseItemMeta = rose.getItemMeta();
        roseItemMeta.setDisplayName("§d求婚系统");
        rose.setItemMeta(roseItemMeta);
        inventory.setItem(16, rose);

        // 粘液科技 粘性活塞
        ItemStack stickyPiston = new ItemStack(Material.STICKY_PISTON);
        ItemMeta stickyPistonItemMeta = stickyPiston.getItemMeta();
        stickyPistonItemMeta.setDisplayName("§d粘液科技");
        stickyPiston.setItemMeta(stickyPistonItemMeta);
        inventory.setItem(19, stickyPiston);

        // 武器商城 金锭
        ItemStack goldIngot = new ItemStack(Material.GOLD_INGOT);
        ItemMeta goldIngotItemMeta = goldIngot.getItemMeta();
        goldIngotItemMeta.setDisplayName("§d服务商城");
        goldIngot.setItemMeta(goldIngotItemMeta);
        inventory.setItem(21, goldIngot);

        // 便捷工具 工作台
        ItemStack craftingTable = new ItemStack(Material.CRAFTING_TABLE);
        ItemMeta craftingTableItemMeta = craftingTable.getItemMeta();
        craftingTableItemMeta.setDisplayName("§d便捷工具");
        craftingTable.setItemMeta(craftingTableItemMeta);
        inventory.setItem(23, craftingTable);

        // 签到 绿宝石
        ItemStack emerald = new ItemStack(Material.EMERALD);
        ItemMeta emeraldItemMeta = emerald.getItemMeta();
        emeraldItemMeta.setDisplayName("§d签到系统");
        emerald.setItemMeta(emeraldItemMeta);
        inventory.setItem(25, emerald);

        // 职业 末影珍珠
        ItemStack enderPearl = new ItemStack(Material.ENDER_PEARL);
        ItemMeta enderPearlItemMeta = enderPearl.getItemMeta();
        emeraldItemMeta.setDisplayName("§d职业系统");
        enderPearl.setItemMeta(emeraldItemMeta);
        inventory.setItem(28, enderPearl );

        return inventory;
    }

    public static Inventory getShortcutToolMenu() {
        Inventory inventory = Bukkit.createInventory(null, 54, "§d便捷工具");
        List<String> list = new ArrayList<>();

        // 设置家1 海龟蛋
        ItemStack turtleEgg = new ItemStack(Material.TURTLE_EGG);
        ItemMeta turtleEggItemMeta = turtleEgg.getItemMeta();
        turtleEggItemMeta.setDisplayName("§b设置家 1");
        list.add("§a记录所在坐标");
        turtleEggItemMeta.setLore(list);
        turtleEgg.setItemMeta(turtleEggItemMeta);
        inventory.setItem(0, turtleEgg);

        list.clear();
        // 设置家2 海龟蛋
        ItemStack turtleEgg1 = new ItemStack(Material.TURTLE_EGG);
        ItemMeta turtleEggItemMeta1 = turtleEgg1.getItemMeta();
        turtleEggItemMeta1.setDisplayName("§b设置家 2");
        list.add("§a记录所在坐标");
        turtleEggItemMeta1.setLore(list);
        turtleEgg1.setItemMeta(turtleEggItemMeta1);
        inventory.setItem(3, turtleEgg1);

        list.clear();
        // 设置家3 海龟蛋
        ItemStack turtleEgg2 = new ItemStack(Material.TURTLE_EGG);
        ItemMeta turtleEggItemMeta2 = turtleEgg2.getItemMeta();
        turtleEggItemMeta2.setDisplayName("§b设置家 3");
        list.add("§a记录所在坐标");
        turtleEggItemMeta2.setLore(list);
        turtleEgg2.setItemMeta(turtleEggItemMeta2);
        inventory.setItem(6, turtleEgg2);

        list.clear();
        // 回到家1 磷甲
        ItemStack scute = new ItemStack(Material.SCUTE);
        ItemMeta scuteItemMeta = scute.getItemMeta();
        scuteItemMeta.setDisplayName("§b回到家 1");
        list.add("§a回到家1坐标");
        scuteItemMeta.setLore(list);
        scute.setItemMeta(scuteItemMeta);
        inventory.setItem(1, scute);

        list.clear();
        // 回到家2 磷甲
        ItemStack scute1 = new ItemStack(Material.SCUTE);
        ItemMeta scuteItemMeta1 = scute1.getItemMeta();
        scuteItemMeta1.setDisplayName("§b回到家 2");
        list.add("§a回到家1坐标");
        scuteItemMeta1.setLore(list);
        scute1.setItemMeta(scuteItemMeta1);
        inventory.setItem(4, scute1);

        list.clear();
        // 回到家3 磷甲
        ItemStack scute3 = new ItemStack(Material.SCUTE);
        ItemMeta scuteItemMeta3 = scute3.getItemMeta();
        scuteItemMeta3.setDisplayName("§b回到家 3");
        list.add("§a回到家1坐标");
        scuteItemMeta3.setLore(list);
        scute3.setItemMeta(scuteItemMeta3);
        inventory.setItem(7, scute3);

        list.clear();
        // 晴天 滨菊
        ItemStack oxeyeDaisy = new ItemStack(Material.OXEYE_DAISY);
        ItemMeta oxeyeDaisyItemMeta = oxeyeDaisy.getItemMeta();
        oxeyeDaisyItemMeta.setDisplayName("§e设置晴天");
        list.add("§aVIP/SVIP/至尊SVIP专属");
        oxeyeDaisyItemMeta.setLore(list);
        oxeyeDaisy.setItemMeta(oxeyeDaisyItemMeta);
        inventory.setItem(11, oxeyeDaisy);

        list.clear();
        // 雨天 兰花
        ItemStack blueOrchid = new ItemStack(Material.BLUE_ORCHID);
        ItemMeta blueOrchidItemMeta = blueOrchid.getItemMeta();
        blueOrchidItemMeta.setDisplayName("§e设置雨天");
        list.add("§aSVIP/至尊SVIP专属");
        blueOrchidItemMeta.setLore(list);
        blueOrchid.setItemMeta(blueOrchidItemMeta);
        inventory.setItem(13, blueOrchid);

        list.clear();
        // 雷雨天 兰花
        ItemStack twistingVines = new ItemStack(Material.TWISTING_VINES);
        ItemMeta twistingVinesItemMeta = twistingVines.getItemMeta();
        twistingVinesItemMeta.setDisplayName("§e设置雷雨天");
        list.add("§a至尊SVIP专属");
        twistingVinesItemMeta.setLore(list);
        twistingVines.setItemMeta(twistingVinesItemMeta);
        inventory.setItem(15, twistingVines);

        list.clear();
        // 早晨 蒲公英
        ItemStack dandelion = new ItemStack(Material.DANDELION);
        ItemMeta dandelionItemMeta = dandelion.getItemMeta();
        dandelionItemMeta.setDisplayName("§e设置时间为早晨");
        list.add("§a至尊SVIP专属");
        dandelionItemMeta.setLore(list);
        dandelion.setItemMeta(dandelionItemMeta);
        inventory.setItem(18, dandelion);

        list.clear();
        // 中午 绒球葱
        ItemStack allium = new ItemStack(Material.ALLIUM);
        ItemMeta alliumItemMeta = allium.getItemMeta();
        alliumItemMeta.setDisplayName("§e设置时间为中午");
        list.add("§a至尊SVIP专属");
        alliumItemMeta.setLore(list);
        allium.setItemMeta(alliumItemMeta);
        inventory.setItem(20, allium);

        list.clear();
        // 黄昏日落 绯红菌
        ItemStack crimsonFungus = new ItemStack(Material.CRIMSON_FUNGUS);
        ItemMeta crimsonFungusItemMeta = crimsonFungus.getItemMeta();
        crimsonFungusItemMeta.setDisplayName("§e设置时间为黄昏日落");
        list.add("§a至尊SVIP专属");
        crimsonFungusItemMeta.setLore(list);
        crimsonFungus.setItemMeta(crimsonFungusItemMeta);
        inventory.setItem(22, crimsonFungus);

        list.clear();
        // 夜晚 凋零玫瑰
        ItemStack witherRose = new ItemStack(Material.WITHER_ROSE);
        ItemMeta witherRoseItemMeta = witherRose.getItemMeta();
        witherRoseItemMeta.setDisplayName("§e设置时间为夜晚");
        list.add("§a至尊SVIP专属");
        witherRoseItemMeta.setLore(list);
        witherRose.setItemMeta(witherRoseItemMeta);
        inventory.setItem(24, witherRose);

        list.clear();
        // 便携工作台 工作台
        ItemStack craftingTable = new ItemStack(Material.CRAFTING_TABLE);
        ItemMeta craftingTableItemMeta = craftingTable.getItemMeta();
        craftingTableItemMeta.setDisplayName("§e打开便携工作台");
        list.add("§a可解燃眉之急");
        craftingTableItemMeta.setLore(list);
        craftingTable.setItemMeta(craftingTableItemMeta);
        inventory.setItem(27, craftingTable);

        list.clear();
        // 躺下 马鞍
        ItemStack saddle = new ItemStack(Material.SADDLE);
        ItemMeta saddleItemMeta = saddle.getItemMeta();
        saddleItemMeta.setDisplayName("§aLay了?");
        list.add("§a躺到来hhh~");
        saddleItemMeta.setLore(list);
        saddle.setItemMeta(saddleItemMeta);
        inventory.setItem(29, saddle);

        list.clear();
        // 引雷 青色旗帜
        ItemStack cyanBanner = new ItemStack(Material.CYAN_BANNER);
        ItemMeta cyanBannerItemMeta = cyanBanner.getItemMeta();
        cyanBannerItemMeta.setDisplayName("§d引雷!");
        list.add("§a在你的位置劈下一道闪电");
        list.add("§aSVIP/至尊SVIP专属");
        cyanBannerItemMeta.setLore(list);
        cyanBanner.setItemMeta(cyanBannerItemMeta);
        inventory.setItem(31, cyanBanner);

        list.clear();
        // 飞行 鞘翅
        ItemStack elytra = new ItemStack(Material.ELYTRA);
        ItemMeta elytraItemMeta = elytra.getItemMeta();
        elytraItemMeta.setDisplayName("§d飞行!");
        list.add("§a会员专属");
        elytraItemMeta.setLore(list);
        elytra.setItemMeta(elytraItemMeta);
        inventory.setItem(33, elytra);

        list.clear();
        // 修改称号 绯红木告示牌
        ItemStack crimsonSign = new ItemStack(Material.CRIMSON_SIGN);
        ItemMeta crimsonSignItemMeta = crimsonSign.getItemMeta();
        crimsonSignItemMeta.setDisplayName("§d修改称号!");
        list.add("§a花费10000金币");
        crimsonSignItemMeta.setLore(list);
        crimsonSign.setItemMeta(crimsonSignItemMeta);
        inventory.setItem(36, crimsonSign);

        list.clear();
        // 修改称号 黄绿色羊毛
        ItemStack limeWoll = new ItemStack(Material.LIME_WOOL);
        ItemMeta limeWollItemMeta = limeWoll.getItemMeta();
        limeWollItemMeta.setDisplayName("§a开启PVP保护!");
        list.add("§a其他玩家将无法攻击你");
        limeWollItemMeta.setLore(list);
        limeWoll.setItemMeta(limeWollItemMeta);
        inventory.setItem(38, limeWoll);

        list.clear();
        // 修改称号 红色羊毛
        ItemStack redWoll = new ItemStack(Material.RED_WOOL);
        ItemMeta redWollItemMeta = redWoll.getItemMeta();
        redWollItemMeta.setDisplayName("§c关闭PVP保护!");
        list.add("§c其他玩家可以攻击你");
        redWollItemMeta.setLore(list);
        redWoll.setItemMeta(redWollItemMeta);
        inventory.setItem(39, redWoll);

        ItemStack redstone = new ItemStack(Material.REDSTONE);
        ItemMeta redstoneItemMeta = redstone.getItemMeta();
        redstoneItemMeta.setDisplayName("§c返回");
        redstone.setItemMeta(redstoneItemMeta);
        inventory.setItem(53, redstone);

        return inventory;
    }

    public static Inventory getServiceShoppingMenu() {
        Inventory inventory = Bukkit.createInventory(null, 27, "§d服务商城");
        List<String> list = new ArrayList<>();
        // VIP 青金石
        ItemStack lapisLazuli = new ItemStack(Material.LAPIS_LAZULI);
        ItemMeta lapisLazuliItemMeta = lapisLazuli.getItemMeta();
        lapisLazuliItemMeta.setDisplayName("§d点击购买 VIP");
        list.add("§b花费20节操币购买一个月VIP");
        list.add("§b专属登录/退出提示");
        list.add("§b专属聊天前缀");
        list.add("§b飞行权限");
        list.add("§b修改晴天天气");
        list.add("§b全球市场发布量12");
        lapisLazuliItemMeta.setLore(list);
        lapisLazuli.setItemMeta(lapisLazuliItemMeta);
        inventory.setItem(2, lapisLazuli);

        list.clear();
        // SVIP 钻石
        ItemStack diamond = new ItemStack(Material.DIAMOND);
        ItemMeta diamondItemMeta = diamond.getItemMeta();
        diamondItemMeta.setDisplayName("§d点击购买 SVIP");
        list.add("§b花费35节操币购买一个月SVIP");
        list.add("§b专属登录/退出提示");
        list.add("§b专属聊天前缀");
        list.add("§b飞行权限");
        list.add("§b修改晴/雨天气");
        list.add("§b全球市场发布量15");
        list.add("§b引雷");
        diamondItemMeta.setLore(list);
        diamond.setItemMeta(diamondItemMeta);
        inventory.setItem(4, diamond);

        list.clear();
        // 至尊SVIP 绿宝石
        ItemStack emerald = new ItemStack(Material.EMERALD);
        ItemMeta emeraldItemMeta = emerald.getItemMeta();
        emeraldItemMeta.setDisplayName("§d点击购买 至尊SVIP");
        list.add("§b花费49节操币购买一个月SVIP");
        list.add("§b专属登录/退出提示");
        list.add("§b专属聊天前缀");
        list.add("§b飞行权限");
        list.add("§b修改晴/雨/雷雨天气");
        list.add("§b修改世界时间");
        list.add("§b全球市场发布量18");
        list.add("§b引雷");
        emeraldItemMeta.setLore(list);
        emerald.setItemMeta(emeraldItemMeta);
        inventory.setItem(6, emerald);

        ItemStack redstone = new ItemStack(Material.REDSTONE);
        ItemMeta redstoneItemMeta = redstone.getItemMeta();
        redstoneItemMeta.setDisplayName("§c返回");
        redstone.setItemMeta(redstoneItemMeta);
        inventory.setItem(26, redstone);

        return inventory;
    }

    public static Inventory getLandmarkMenu() {
        Inventory inventory = Bukkit.createInventory(null, 27, "§d传送点");
        ItemStack glass = new ItemStack(Material.PURPLE_STAINED_GLASS_PANE);
        ItemMeta glassItemMeta = glass.getItemMeta();
        glassItemMeta.setDisplayName("§b♬");
        glass.setItemMeta(glassItemMeta);
        for (int i = 9; i <= 17; i++) {
            inventory.setItem(i, glass);
        }
        // 主城 钟
        ItemStack clock = new ItemStack(Material.CLOCK);
        ItemMeta clockItemMeta = clock.getItemMeta();
        clockItemMeta.setDisplayName("§d主城");
        clock.setItemMeta(clockItemMeta);
        inventory.setItem(0, clock);

        // 地皮 草方块
        ItemStack grass = new ItemStack(Material.GRASS_BLOCK);
        ItemMeta grassItemMeta = glass.getItemMeta();
        grassItemMeta.setDisplayName("§d名门世家");
        grass.setItemMeta(grassItemMeta);
        inventory.setItem(2, grass);

        // 资源世界 钻石原矿
        ItemStack diamondOre = new ItemStack(Material.DIAMOND_ORE);
        ItemMeta diamondOreItemMeta = diamondOre.getItemMeta();
        diamondOreItemMeta.setDisplayName("§d资源世界");
        diamondOre.setItemMeta(diamondOreItemMeta);
        inventory.setItem(4, diamondOre);

        // 地狱 地狱岩
        ItemStack magma = new ItemStack(Material.MAGMA_BLOCK);
        ItemMeta magmaItemMeta = magma.getItemMeta();
        magmaItemMeta.setDisplayName("§d下届地狱");
        magma.setItemMeta(magmaItemMeta);
        inventory.setItem(6, magma);

        // 末地 末地石
        ItemStack endStone = new ItemStack(Material.END_STONE);
        ItemMeta endStoneItemMeta = endStone.getItemMeta();
        endStoneItemMeta.setDisplayName("§d末地");
        endStone.setItemMeta(endStoneItemMeta);
        inventory.setItem(8, endStone);

        // 商店 金锭
        ItemStack goldIngot = new ItemStack(Material.GOLD_INGOT);
        ItemMeta goldIngotItemMeta = goldIngot.getItemMeta();
        goldIngotItemMeta.setDisplayName("§e商店§b[出售/收购]");
        goldIngot.setItemMeta(goldIngotItemMeta);
        inventory.setItem(9, goldIngot);

        ItemStack redstone = new ItemStack(Material.REDSTONE);
        ItemMeta redstoneItemMeta = redstone.getItemMeta();
        redstoneItemMeta.setDisplayName("§c返回");
        redstone.setItemMeta(redstoneItemMeta);
        inventory.setItem(26, redstone);
        return inventory;
    }

    public static Inventory getMarryMenu() {
        Inventory inventory = Bukkit.createInventory(null, 9, "§d求婚系统");
        // 粉红陶瓦
        ItemStack clock = new ItemStack(Material.PINK_GLAZED_TERRACOTTA);
        ItemMeta clockItemMeta = clock.getItemMeta();
        clockItemMeta.setDisplayName("§d系统规则");
        ArrayList<String> strings = new ArrayList<>();
        strings.add("§d开放式婚姻");
        strings.add("§d求婚需要求婚海螺");
        strings.add("§a聊天显示已婚");
        strings.add("§b伴侣可相互TP传送, 且无需等待");
        clockItemMeta.setLore(strings);
        clock.setItemMeta(clockItemMeta);
        inventory.setItem(0, clock);

        // 求婚海螺
        ItemStack proposalConch = SeniorItems.proposalConch();
        ItemMeta itemMeta = proposalConch.getItemMeta();
        List<String> lore = itemMeta.getLore();
        lore.add("§d点击花费10000金币购买");
        itemMeta.setLore(lore);
        proposalConch.setItemMeta(itemMeta);
        inventory.setItem(2, proposalConch);

        // 离婚
        ItemStack poison = new ItemStack(Material.POISONOUS_POTATO);
        ItemMeta poisonItemMeta = poison.getItemMeta();
        poisonItemMeta.setDisplayName("§c离婚");
        List<String> lore1 = new ArrayList<>();
        lore1.add("§d点击花费10000金币进行离婚");
        lore1.add("§d离婚者支付");
        poisonItemMeta.setLore(lore1);
        poison.setItemMeta(poisonItemMeta);
        inventory.setItem(4, poison);

        ItemStack redstone = new ItemStack(Material.REDSTONE);
        ItemMeta redstoneItemMeta = redstone.getItemMeta();
        redstoneItemMeta.setDisplayName("§c返回");
        redstone.setItemMeta(redstoneItemMeta);
        inventory.setItem(8, redstone);

        return inventory;
    }

}
